<?xml version="1.0" encoding="utf-8"?>
<Content xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:blueonionsoftware-com:bloget:runtime:data">
  <text>&lt;p&gt;By MSBuild Explorers&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;We've yet to give a comprehensive description of MSBuild, and I realize that many people reading this blog haven't heard of it, so here's a very good overview that I found &lt;a href="http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx" target=_blank&gt;on MSDN:&lt;/a&gt;&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;em&gt;Historically, developers have struggled when trying to map a complicated build infrastructure into the Visual Studio IDE. Roadblocks traditionally center around the inability to fully customize or understand what happens when a project is built within the development environment; the failure to reproduce a build within a build lab environment where Visual Studio is not likely to be present; and the limitations of a build system that was not optimized to model entire products, but rather single projects.&lt;/em&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;em&gt;The 2005 release of Visual Studio will radically improve this area of software development by introducing a new build engine called MSBuild. Key design goals for MSBuild include: delivering a file format that is well-documented and backed up by a published XML schema definition; making the MSBuild engine an integral part of the .NET Framework redistributable; allowing developers to customize, augment or completely redefine the build process; and providing seamless integration with the Visual Studio 2005 IDE.&lt;/em&gt;&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;em&gt;First, MSBuild will introduce a new XML-based file format that is simple to understand and easy to extend. The MSBuild file format will enable developers to fully describe what artifacts need to be built, as well as how they need to be built under different configurations. In addition, the file format will enable developers to author reusable rules which can be factored into separate files so that builds can be done consistently across different projects within a product.&lt;/em&gt;&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;em&gt;Second, MSBuild will ship as a core part of the .NET Framework 2.0 redistributable. This shift in philosophy will allow developers to rely on the MSBuild infrastructure regardless of IDE presence and licensing issues. In addition, by providing MSBuild class libraries as a core part of the .NET Framework, developers will be able to create and debug components of a customized MSBuild process using the managed language of their choice.&lt;/em&gt;&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;em&gt;Third, MSBuild will be completely transparent with regards to how it processes and builds software. All build steps will be explicitly expressed in the XML project file regardless of whether it was authored by hand or auto-generated by the Visual Studio 2005 IDE. This also means that Visual Studio no longer treats any part of the "F5" build experience as a black box. A user can now understand, replicate, edit, remove, or augment any part of the build process.&lt;/em&gt;&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;em&gt;Finally like its predecessors, MSBuild will be fully integrated into the Visual Studio 2005 IDE. This tight integration will enable developers to take advantage of all the built-in productivity features Visual Studio offers, while allowing developers to scale, customize, and adapt the Visual Studio 2005 build system to their unique infrastructure needs.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you'd to see someone actually using MSBuild to alter the build process, you can watch a 30 minute video of Alex Kipman, our program manager,&amp;nbsp;&lt;a href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20040122VSNETAK/manifest.xml" target=_blank&gt;giving a&amp;nbsp;demo of&amp;nbsp;the new build system here&lt;/a&gt;.&lt;/p&gt;&lt;img src ="http://flounder_aaeng/blogs/DevNotes/aggbug/215.aspx" width = "1" height = "1" /&gt;</text>
  <last_update>2007-10-04T00:38:36.0240806Z</last_update>
  <source_title />
  <source_link />
  <comments />
  <references />
  <attachments />
</Content>